package com.zyf.service;

import com.zyf.model.hosp.Hospital;
import com.zyf.vo.hosp.HospitalQueryVo;
import org.springframework.data.domain.Page;

import java.util.List;
import java.util.Map;

/**
 * 医院业务  业务层接口
 *
 * @author zyf
 * @date 2021年05月07日 13:38
 */

public interface HospitalService {

    /**
     * 上传医院信息Api
     *
     * @param paramMap 医院信息的Map集合
     * @author zyf
     * @date 2021/5/7 13:57
     */
    void saveHosp(Map<String, Object> paramMap);

    /**
     * 根据医院编号查询医院Api
     *
     * @param hoscode 医院编号
     * @return com.zyf.model.hosp.Hospital
     * @author zyf
     * @date 2021/5/7 17:47
     */
    Hospital getByHoscode(String hoscode);

    /**
     * 分页条件查询医院信息Api
     * @author zyf
     * @date 2021/5/8 18:00
     * @param page 当前页码
     * @param limit 页面记录数
     * @param hospitalQueryVo 条件对象
     * @return org.springframework.data.domain.Page
     */
    Page<Hospital> selectHospByPage(Integer page, Integer limit, HospitalQueryVo hospitalQueryVo);

    /**
     * 更新医院上下线状态API
     * @author zyf
     * @date 2021/5/13 15:03
     * @param id 医院id
     * @param status 医院状态
     * @return boolean
     */
    boolean updateHospStatus(String id, Integer status);

    /**
     * 查看医院的详情信息API
     * @author zyf
     * @date 2021/5/13 15:38
     * @param id 医院id
     * @return com.zyf.model.hosp.Hospital
     */
    Map<String,Object> findHospById(String id);

    /**
     * 根据医院编号获取医院名称
     * @author zyf
     * @date 2021/5/14 10:06
     * @param hoscode 医院编号
     * @return java.lang.String
     */
    String getHospName(String hoscode);

    /**
     * 根据医院名称模糊查询医院信息
     * @author zyf
     * @date 2021/5/17 11:56
     * @param hosname 医院名称
     * @return java.util.List<com.zyf.model.hosp.Hospital>
     */
    List<Hospital> findHospByHosName(String hosname);

    /**
     * 根据医院编号获取医院预约挂号详情
     * @author zyf
     * @date 2021/5/18 9:52
     * @param hoscode 医院编号
     * @return java.util.Map<java.lang.String,java.lang.Object>
     */
    Map<String, Object> item(String hoscode);


}
